//-----------------------------------------------------------------------
// <copyright file="LearningResource.cs" company="Procure Development">
//     Copyright (c) Procure Development. All rights reserved.
// </copyright>
// <author>Victor Procure</author>
//-----------------------------------------------------------------------

using System;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;

namespace SManagement.Models
{
    /// <summary>
    /// Describes the content, materials, or informational resources that support learning.
    /// </summary>
    public class LearningResource
    {
        #region Instance Properties

        [BsonId]
        public ObjectId _id { get; set; }

        public string Title { get; set; }

        public string Description { get; set; }

        public string Url { get; set; }

        public string ConceptKeyword { get; set; }

        public string SubjectName { get; set; }

        public string SubjectCode { get; set; }

        public string SubjectCodeSystem { get; set; }

        public ObjectId? RefLearningResourceTypeId { get; set; }

        public DateTime? DateCreated { get; set; }

        public string Version { get; set; }

        public string Creator { get; set; }

        public string PublisherName { get; set; }

        public DateTime? PublishedDate { get; set; }

        public string CopyrightHolderName { get; set; }

        public string CopyrightYear { get; set; }

        public string LearningResourceLicenseURL { get; set; }

        public string BasedOnUrl { get; set; }

        public ObjectId? RefLearningResourceIntendedEndUserRoleId { get; set; }

        public ObjectId? RefLearningResourceEducationalUseId { get; set; }

        public ObjectId? RefLearningResourceInteractivityTypeId { get; set; }

        public ObjectId? RefLanguageId { get; set; }

        public decimal? TimeRequired { get; set; }

        public Byte? TypicalAgeRangeMinimum { get; set; }

        public Byte? TypicalAgeRangeMaximum { get; set; }

        public string TextComplexityValue { get; set; }

        public string TextComplexitySystem { get; set; }

        public string AdaptedFromURL { get; set; }

        public bool? AssistiveTechnologiesCompatibleInd { get; set; }

        public ObjectId? PeerRatingSampleSize { get; set; }

        public ObjectId? RefLearningResourceAccessAPITypeId { get; set; }

        public ObjectId? RefLearningResourceAccessHazardTypeId { get; set; }

        public ObjectId? RefLearningResourceAccessModeTypeId { get; set; }

        public ObjectId? RefLearningResourceBookFormatTypeId { get; set; }

        public ObjectId? RefLearningResourceControlFlexibilityTypeId { get; set; }

        public ObjectId? RefLearningResourceDigitalMediaSubTypeId { get; set; }

        public ObjectId? RefLearningResourceDigitalMediaTypeId { get; set; }

        public string LearningResourceAuthorEmail { get; set; }

        public string LearningResourceAuthorURL { get; set; }

        public DateTime? LearningResourceDateModified { get; set; }

        public string LearningResourcePublisherEmail { get; set; }

        public string LearningResourcePublisherURL { get; set; }

        public ObjectId? RefLearningResourceAccessRightsUrlId { get; set; }

        public ObjectId? RefLearningResourceAuthorTypeId { get; set; }

        public ObjectId? RefLearningResourceInteractionModeId { get; set; }

        #endregion Instance Properties
}

}